package org.db.dao;


public class UeberhoehungslinienDAO  extends DAO implements Comparable<UeberhoehungslinienDAO>{
	
	private double stationierungInMeterUe;
	private double endstationierungInMeterUE;
	private Ueberhoehungsrampe ueberhoehungsrampe;
	private int ueberhoehungInMM;
	private double laengeRampe;
	
	public UeberhoehungslinienDAO(
			double stationierungInMeterUe, int ueberhoehungInMM, double endstationierungInMeterUE, Ueberhoehungsrampe ueberhoehungsrampe,
			 double laengeRampe) {
		super();
		this.setStationierungInMeterUe(stationierungInMeterUe);
		this.ueberhoehungsrampe = ueberhoehungsrampe;
		this.ueberhoehungInMM = ueberhoehungInMM;
		this.laengeRampe = laengeRampe;
		this.setEndstationierungInMeterUE(endstationierungInMeterUE);
		
	}
	public Ueberhoehungsrampe getUeberhoehungsrampe() {
		return ueberhoehungsrampe;
	}
	public void setUeberhoehungsrampe(Ueberhoehungsrampe ueberhoehungsrampe) {
		this.ueberhoehungsrampe = ueberhoehungsrampe;
	}
	public int getUeberhoehungInMM() {
		return ueberhoehungInMM;
	}
	public void setUeberhoehungInMM(int ueberhoehungInMM) {
		this.ueberhoehungInMM = ueberhoehungInMM;
	}
	public double getLaengeRampe() {
		return laengeRampe;
	}
	public void setLaengeRampe(double laengeRampe) {
		this.laengeRampe = laengeRampe;
	}
	
	@Override
	public int compareTo(UeberhoehungslinienDAO other) {
		double diff = this.stationierungInMeterUe - other.getStationierungInMeterUe();
		if(diff > 0){
			return 1;
		} else if(diff < 0){
			return -1;
		} else {
			return Double.compare(getUeberhoehungInMM(), other.getUeberhoehungInMM());
		}
	}
	public void setStationierungInMeterUe(double stationierungInMeterUe) {
		this.stationierungInMeterUe = stationierungInMeterUe;
	}
	public double getStationierungInMeterUe() {
		return stationierungInMeterUe;
	}
	public void setEndstationierungInMeterUE(double endstationierungInMeterUE) {
		this.endstationierungInMeterUE = endstationierungInMeterUE;
	}
	public double getEndstationierungInMeterUE() {
		return endstationierungInMeterUE;
	}
}
